package vista;

import interfaces.ISuperficieDeDibujo;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JPanel;


public class SuperficieDeDibujo extends JPanel implements ISuperficieDeDibujo{
	private static final long serialVersionUID = 1L;
	private boolean modoDebug;
	private Image imagen;
	
	public SuperficieDeDibujo(String rutaRelativaBgImg, int minX,int minY,boolean debug) {
		setMinimumSize(new Dimension(minX,minY));
		setSize(minX,minY);
		modoDebug = debug;		
		
		if(modoDebug)
			System.out.printf("tam: %d,%d\n",getWidth(), getHeight());
	}
	
	@Override
	public void actualizar() {
		this.repaint();
	}
	
	public void paint(Graphics grafico){
		grafico.drawImage(imagen,0, 0,getWidth(), getHeight(), null);
	}
	
	@Override
	public void limpiar() {
		if( imagen == null ){
			imagen = this.createImage(getSize().width, getSize().height);
		}
		Graphics superficieParaDibujar = imagen.getGraphics();
		superficieParaDibujar.setColor(Color.WHITE);
		superficieParaDibujar.fillRect(0, 0, getSize().width, getSize().height);
	}
	
	@Override
	public Graphics obtenerGrafico() {
		return imagen.getGraphics();
	}


}
